Although the details are .NET-specific, Are you aware that you have thrown over 40,000 exceptions in the last 3 hours? is a good overview of what happens when you use exceptions for non-exceptional circumstances...
(Just Say No to using exceptions for flow control.)